Sebuah Eksplorasi Data Peluncuran Roket: Tingkat Keberhasilan, Kegagalan, Tren Tahunan, dan Biaya Peluncuran¶

Pendahuluan:

Di era teknologi dan eksplorasi ruang angkasa yang berkembang pesat ini, memahami dinamika peluncuran roket sangatlah penting. Dengan mendalami analisis data, kita dapat menggali informasi penting mengenai efisiensi, biaya, dan tingkat aktivitas berbagai organisasi dalam industri peluncuran roket.

Dalam analisis ini, kami akan menyelidiki empat aspek utama:

  1. Tingkat Keberhasilan dan Kegagalan Peluncuran Roket:
    • Proporsi misi yang berhasil dibandingkan dengan misi yang gagal dapat menggambarkan efisiensi industri. Tingkat keberhasilan yang lebih tinggi dapat mengindikasikan kemajuan teknologi, persiapan yang lebih baik, atau tim yang lebih berpengalaman. Sebaliknya, memahami alasan di balik kegagalan dapat menunjukkan area untuk perbaikan dan mitigasi risiko.
  1. Organisasi Paling Aktif:
    • Mengidentifikasi organisasi yang sering meluncurkan roket memberikan wawasan tentang organisasi yang dominan di pasar. Data ini dapat memberikan petunjuk tentang organisasi mana yang memimpin dalam hal teknologi, pendanaan, atau kolaborasi global. Frekuensi juga menentukan standar untuk organisasi baru dalam hal ak
  1. Tren Peluncuran Tahunan:
    • Menganalisis tren tahunan memberikan gambaran tentang bagaimana industri peluncuran roket telah berkembang dari waktu ke waktu. Tren naik dapat mengindikasikan meningkatnya minat dalam eksplorasi ruang angkasa, peningkatan pendanaan, atau kemajuan teknologi. Di sisi lain, tren menurun dapat mengindikasikan kejenuhan pasar, berkurangnya minat, atau faktor eksternal seperti kemunduran ekonomi global yang memengaruhi peluncuran.
  1. Distribusi Biaya Peluncuran Roket:
    • Memahami struktur biaya adalah kunci untuk menilai kelayakan finansial dari investasi dalam industri peluncuran roket. Distribusi biaya yang luas dapat mengindikasikan adanya peluncuran dari anggaran rendah, mungkin untuk tujuan akademis atau penelitian, hingga peluncuran dengan anggaran tinggi, mungkin untuk misi yang kompleks atau usaha komersial.

Melalui aspek-aspek ini, kami bertujuan untuk memberikan pemahaman mendalam tentang dinamika industri peluncuran roket saat ini. Wawasan semacam itu sangat berharga bagi investor, peneliti, pembuat kebijakan, dan pemangku kepentingan lainnya.

Mengimpor Pustaka yang Akan Digunakan¶

In [18]:
import matplotlib.pyplot as plt
import pandas as pd
from mpl_toolkits.axes_grid1 import make_axes_locatable
import geopandas as gpd
import plotly.express as px
import plotly.graph_objects as go

1. Memuat Data¶

Pada bagian ini, kita menggunakan pustaka pandas untuk memuat dataset dari file CSV ke dalam DataFrame. Dataset ini berisi informasi tentang peluncuran roket. Setelah memuat, kita menampilkan lima baris pertama dari dataset untuk mendapatkan gambaran awal dari data tersebut.

In [19]:
# Memuat data dari CSV ke DataFrame
data = pd.read_csv('C:/Users/User/Documents/Portofolio/Space+Missions+(start)/mission_launches.csv')

# Menampilkan 5 baris pertama dari data
data.head()
Out[19]:
Unnamed: 0.1 Unnamed: 0 Organisation Location Date Detail Rocket_Status Price Mission_Status
0 0 0 SpaceX LC-39A, Kennedy Space Center, Florida, USA Fri Aug 07, 2020 05:12 UTC Falcon 9 Block 5 | Starlink V1 L9 & BlackSky StatusActive 50.0 Success
1 1 1 CASC Site 9401 (SLS-2), Jiuquan Satellite Launch Ce... Thu Aug 06, 2020 04:01 UTC Long March 2D | Gaofen-9 04 & Q-SAT StatusActive 29.75 Success
2 2 2 SpaceX Pad A, Boca Chica, Texas, USA Tue Aug 04, 2020 23:57 UTC Starship Prototype | 150 Meter Hop StatusActive NaN Success
3 3 3 Roscosmos Site 200/39, Baikonur Cosmodrome, Kazakhstan Thu Jul 30, 2020 21:25 UTC Proton-M/Briz-M | Ekspress-80 & Ekspress-103 StatusActive 65.0 Success
4 4 4 ULA SLC-41, Cape Canaveral AFS, Florida, USA Thu Jul 30, 2020 11:50 UTC Atlas V 541 | Perseverance StatusActive 145.0 Success

2. Pra-pemrosesan Data¶

Pada bagian ini, kami melakukan beberapa langkah untuk membersihkan data

  • Menghapus kolom yang tidak diperlukan, yaitu kolom unnamed: 0 dan unnamed: 0.1.
  • Mengubah format kolom Tanggal menjadi tipe data datetime agar lebih mudah diproses pada langkah berikutnya.
  • Menampilkan lima baris pertama dari data yang telah dibersihkan untuk memastikan perubahan telah diterapkan dengan benar.
In [20]:
# Menghapus kolom yang tidak diperlukan
data.drop(['Unnamed: 0', 'Unnamed: 0.1'], axis=1, inplace=True)

# Mengubah kolom Date menjadi tipe data datetime
data['Date'] = pd.to_datetime(data['Date'])

# Menampilkan 5 baris pertama dari data yang telah dibersihkan
data.head()
Out[20]:
Organisation Location Date Detail Rocket_Status Price Mission_Status
0 SpaceX LC-39A, Kennedy Space Center, Florida, USA 2020-08-07 05:12:00+00:00 Falcon 9 Block 5 | Starlink V1 L9 & BlackSky StatusActive 50.0 Success
1 CASC Site 9401 (SLS-2), Jiuquan Satellite Launch Ce... 2020-08-06 04:01:00+00:00 Long March 2D | Gaofen-9 04 & Q-SAT StatusActive 29.75 Success
2 SpaceX Pad A, Boca Chica, Texas, USA 2020-08-04 23:57:00+00:00 Starship Prototype | 150 Meter Hop StatusActive NaN Success
3 Roscosmos Site 200/39, Baikonur Cosmodrome, Kazakhstan 2020-07-30 21:25:00+00:00 Proton-M/Briz-M | Ekspress-80 & Ekspress-103 StatusActive 65.0 Success
4 ULA SLC-41, Cape Canaveral AFS, Florida, USA 2020-07-30 11:50:00+00:00 Atlas V 541 | Perseverance StatusActive 145.0 Success

3. Perbandingan Jumlah Roket Aktif dengan Roket yang Sudah Tidak Beroperasi¶

Menganalisis dan membandingkan jumlah roket yang masih aktif dengan roket yang sudah dipensiunkan atau tidak aktif lagi berdasarkan data yang tersedia.

In [21]:
# Menghitung jumlah roket yang aktif versus yang pensiun
rocket_status_counts = data['Rocket_Status'].value_counts()

# Membuat grafik batang untuk perbandingan roket aktif dan yang pensiun
plt.figure(figsize=(10, 6))
bars = plt.bar(rocket_status_counts.index, rocket_status_counts.values, color=['firebrick', 'seagreen'], edgecolor='black')

# Menambahkan nilai di atas setiap batang
for bar in bars:
    yval = bar.get_height()
    plt.text(bar.get_x() + bar.get_width()/2, yval + 15, int(yval), ha='center', va='bottom', fontsize=10)

plt.title('Perbandingan Jumlah Roket Aktif versus Roket yang Sudah Tidak Beroperasi')
plt.xlabel('Status Roket')
plt.ylabel('Jumlah')
plt.xticks(rotation=0)
plt.grid(axis='y', linestyle='--', linewidth=0.5)

plt.tight_layout()
plt.show()

rocket_status_counts
Out[21]:
StatusRetired    3534
StatusActive      790
Name: Rocket_Status, dtype: int64

Interpretasi Grafik¶

  • Mayoritas roket, 3.534, sudah tidak aktif atau dipensiunkan dan hanya 790 roket yang masih aktif.
  • Sejumlah besar roket yang telah diluncurkan telah menyelesaikan misinya atau tidak lagi layak beroperasi.
  • Roket yang masih aktif mungkin masih beroperasi atau siap untuk misi di masa depan. Roket yang lebih tua mungkin akan diganti dengan model yang lebih baru, lebih canggih dan efisien.
  • Perubahan jumlah roket yang aktif dan yang dipensiunkan dapat mencerminkan evolusi teknologi roket dan kebijakan organisasi dari waktu ke waktu.

4. Analisis Status Peluncuran Roket.¶

Pada bagian ini, kami menganalisis distribusi peluncuran roket berdasarkan status misinya. Dengan menggunakan fungsi value_counts(), kami menghitung jumlah peluncuran untuk setiap status misi dalam kumpulan data. Hasilnya akan menunjukkan berapa banyak misi yang berhasil, gagal, atau memiliki status lainnya.

In [26]:
# Menghitung jumlah peluncuran berdasarkan status misinya
mission_status_counts = data['Mission_Status'].value_counts()

mission_status_counts
Out[26]:
Success              3879
Failure               339
Partial Failure       102
Prelaunch Failure       4
Name: Mission_Status, dtype: int64

Visualisasi Status Peluncuran¶

Pada bagian ini, kita memvisualisasikan data yang telah dianalisis pada langkah sebelumnya. Dengan menggunakan pustaka matplotlib, kita membuat diagram batang untuk menampilkan jumlah peluncuran berdasarkan status misinya.

In [27]:
# Menambahkan ruang di antara plot dan judul
ax = mission_status_counts.plot(kind='bar', color='skyblue', edgecolor='black')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

plt.title("Jumlah Peluncuran Roket Berdasarkan Status Misi", y=1.08)  # Menyesuaikan posisi judul
plt.xlabel("Status Misi")
plt.ylabel("Jumlah Peluncuran")
plt.xticks(rotation=45)

# Menambahkan nilai asli di atas setiap batang
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() + p.get_width() / 2., p.get_height()),
                ha='center', va='center', xytext=(0, 10), textcoords='offset points')

plt.tight_layout()
plt.show()

Diagram batang di atas menunjukkan jumlah peluncuran roket berdasarkan status misinya. Berikut ini adalah interpretasi dari diagram batang di atas:

  1. Sukses: Dengan 3879 peluncuran, ini adalah status yang paling umum. Hal ini menunjukkan bahwa sebagian besar misi peluncuran roket berhasil mencapai tujuannya tanpa masalah.

  2. Gagal: Ada 339 misi yang gagal. Meskipun ini jauh lebih sedikit daripada jumlah misi yang berhasil, ini masih menunjukkan bahwa ada risiko yang terlibat dalam peluncuran roket.

  3. Kegagalan Sebagian: Ada 102 misi yang mengalami kegagalan sebagian. Ini berarti bahwa misi tersebut mungkin telah mencapai sebagian dari tujuannya, tetapi tidak sesuai dengan yang diharapkan.

  4. Kegagalan Prapeluncuran: Hanya ada 4 misi yang mengalami kegagalan sebelum peluncuran. Hal ini menunjukkan bahwa kejadian semacam ini sangat jarang terjadi, tetapi tetap penting untuk diwaspadai.

Kesimpulannya, meskipun sebagian besar misi peluncuran roket berhasil, namun masih ada sejumlah misi yang mengalami kegagalan, baik itu kegagalan total, kegagalan parsial, atau bahkan kegagalan pra-peluncuran. Hal ini mengingatkan kita akan kompleksitas dan tantangan yang ada dalam industri penerbangan antariksa.

5. Analisis Deret Waktu Jumlah Peluncuran Roket¶

Dalam analisis ini, kami ingin mengetahui bagaimana tren peluncuran roket berubah dari waktu ke waktu, khususnya setiap tahun. Dengan mengelompokkan data berdasarkan tahun tanggal peluncuran, kita dapat menghitung berapa kali roket diluncurkan setiap tahunnya. kami menggunakan deret waktu untuk menampilkan tren jumlah peluncuran roket setiap tahunnya. Deret waktu memberikan gambaran yang jelas tentang bagaimana tren berubah dari tahun ke tahun.

Peluncuran Roket per Tahun¶

In [28]:
# Menghilangkan informasi zona waktu dengan cara lain
data['Date'] = data['Date'].apply(lambda x: x.replace(tzinfo=None))

# Menghitung jumlah peluncuran roket setiap tahun
yearly_launches = data.groupby(data['Date'].dt.year)['Date'].count()

# Membuat line chart untuk tren jumlah peluncuran roket setiap tahun
yearly_launches.plot(kind='line', color='purple', marker='o', linewidth=2)
plt.title("Tren Jumlah Peluncuran Roket Setiap Tahun")
plt.xlabel("Tahun")
plt.ylabel("Jumlah Peluncuran")
plt.grid(True, which='both', linestyle='--', linewidth=0.5)
plt.tight_layout()
plt.show()
In [29]:
# Mengambil informasi tahun dari kolom "Date" dengan pemrosesan string
data['Year'] = data['Date'].astype(str).str.split('-').str[0]

# Menghitung jumlah peluncuran per tahun
launches_per_year = data.groupby('Year').size()

launches_per_year


plt.figure(figsize=(15, 8))
bars = plt.bar(launches_per_year.index, launches_per_year.values, color='skyblue')

# Menambahkan nilai di atas setiap batang
for bar in bars:
    yval = bar.get_height()
    plt.text(bar.get_x() + bar.get_width()/2, yval + 2, int(yval), ha='center', va='bottom', fontsize=8)

plt.title('Jumlah Peluncuran Roket per Tahun')
plt.xlabel('Tahun')
plt.ylabel('Jumlah Peluncuran')
plt.xticks(rotation=45)
plt.tight_layout()

plt.show()

Interpretasi Grafik¶

  • Secara keseluruhan, tampaknya ada peningkatan yang signifikan dalam jumlah peluncuran roket dari tahun 1960-an hingga sekitar pertengahan 1970-an, dan mencapai puncaknya pada pertengahan hingga akhir 1970-an.
  • Setelah mencapai puncaknya pada akhir 1970-an, terjadi penurunan jumlah peluncuran roket yang terus berlanjut hingga sekitar awal 2000-an.
  • Mulai dari pertengahan tahun 2000-an, tampaknya ada tren yang stabil dalam jumlah peluncuran roket setiap tahun dengan beberapa fluktuasi.
  • Akhirnya, dalam beberapa tahun terakhir yang tersedia dalam kumpulan data, tampaknya ada peningkatan jumlah peluncuran roket. Namun, pada tahun-tahun di mana pandemi Covid-19 muncul, terjadi penurunan yang signifikan setelah peningkatan pada 2015-2018.

Dari grafik ini, kita dapat menyimpulkan bahwa ada periode-periode tertentu dalam sejarah peluncuran roket di mana aktivitasnya menjadi sangat intensif, diikuti dengan periode penurunan aktivitas. Faktor-faktor seperti perkembangan teknologi, kebijakan pemerintah, dinamika geopolitik, dan dampak pandemi mungkin berperan dalam mempengaruhi tren ini.

Peluncuran Roket per Bulan¶

In [30]:
# Menghapus informasi zona waktu dan mengkonversi kembali kolom "Date" ke tipe data datetime
data['Date'] = pd.to_datetime(data['Date'].astype(str).str.split('+').str[0])

# Menghitung jumlah peluncuran roket setiap bulan
monthly_launches = data.groupby(data['Date'].dt.to_period("M"))['Date'].count()

# Membuat line chart untuk tren jumlah peluncuran roket setiap bulan
plt.figure(figsize=(15, 7))
monthly_launches.plot(kind='line', color='purple', marker='o', linewidth=2)
plt.title("Tren Jumlah Peluncuran Roket Setiap Bulan")
plt.xlabel("Bulan dan Tahun")
plt.ylabel("Jumlah Peluncuran")
plt.grid(True, which='both', linestyle='--', linewidth=0.5)
plt.tight_layout()
plt.show()
In [31]:
# Mengekstrak informasi bulan dari string tanggal
data['Month'] = data['Date'].astype(str).str.split('-').str[1]

# Menghitung jumlah peluncuran untuk setiap bulan
launches_per_month_total = data.groupby('Month').size()

launches_per_month_total


# Membuat grafik batang untuk jumlah peluncuran per bulan
months = ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"]

plt.figure(figsize=(12, 6))
bars = plt.bar(months, launches_per_month_total.values, color='lightblue')

# Menambahkan nilai di atas setiap batang
for bar in bars:
    yval = bar.get_height()
    plt.text(bar.get_x() + bar.get_width()/2, yval + 5, int(yval), ha='center', va='bottom', fontsize=8)

plt.title('Jumlah Peluncuran Roket per Bulan')
plt.xlabel('Bulan')
plt.ylabel('Jumlah Peluncuran')
plt.xticks(rotation=45)
plt.tight_layout()

plt.show()

Interpretasi Grafik¶

  • Peluncuran Tertinggi di Bulan Desember: Dengan 450 peluncuran, Desember menunjukkan aktivitas peluncuran roket tertinggi dibandingkan dengan bulan-bulan lainnya. Hal ini mungkin disebabkan oleh berbagai faktor, seperti kondisi cuaca, perencanaan misi, atau faktor lain yang mendukung peluncuran di bulan ini.

  • Aktivitas Tinggi di Pertengahan Tahun: Juni hingga Oktober menunjukkan jumlah peluncuran yang relatif tinggi, yang mungkin mengindikasikan periode favorit untuk peluncuran roket.

  • Peluncuran Terendah di Bulan Januari: Dengan 268 peluncuran, Januari memiliki aktivitas peluncuran roket terendah. Hal ini mungkin disebabkan oleh beberapa faktor seperti kondisi cuaca di awal tahun atau kurangnya perencanaan misi di bulan ini.

  • Distribusi Peluncuran: Meskipun ada beberapa perbedaan antar bulan, tidak ada perbedaan ekstrem dalam distribusi peluncuran roket sepanjang tahun. Hal ini menunjukkan bahwa peluncuran roket terjadi dengan frekuensi yang relatif stabil sepanjang tahun.

Dari interpretasi di atas, kita dapat menyimpulkan bahwa meskipun ada beberapa variasi dalam jumlah peluncuran roket dari bulan ke bulan, peluncuran roket merupakan aktivitas sepanjang tahun dengan beberapa puncak dan lembah.

6. Analisis Jumlah Peluncuran Roket Berdasarkan Organisasi.¶

Dalam analisis ini, kami menyelidiki organisasi mana yang paling aktif meluncurkan roket. Dengan menggunakan fungsi value_counts(), kami menghitung jumlah peluncuran untuk setiap organisasi yang tercantum dalam kumpulan data. Hasilnya menunjukkan organisasi dengan aktivitas peluncuran roket terbanyak.

In [32]:
# Menghitung jumlah peluncuran roket berdasarkan organisasinya
organisation_counts = data['Organisation'].value_counts()

# Menampilkan 10 organisasi dengan jumlah peluncuran terbanyak
top_organisations = organisation_counts.head(10)

top_organisations
Out[32]:
RVSN USSR           1777
Arianespace          279
CASC                 251
General Dynamics     251
NASA                 203
VKS RF               201
US Air Force         161
ULA                  140
Boeing               136
Martin Marietta      114
Name: Organisation, dtype: int64

Visualisasi Jumlah Peluncuran Berdasarkan Organisasi¶

Dalam visualisasi ini, kami memanfaatkan pustaka matplotlib untuk membuat grafik batang yang menampilkan 10 organisasi dengan jumlah peluncuran roket terbanyak. Grafik ini memberikan representasi visual dari dominasi beberapa organisasi dalam industri peluncuran roket.

In [33]:
# Membuat bar chart untuk 10 organisasi dengan jumlah peluncuran terbanyak
ax2 = top_organisations.plot(kind='bar', color='lightgreen', edgecolor='black')
ax2.spines['top'].set_visible(False)  # Menghilangkan garis atas
ax2.spines['right'].set_visible(False)  # Menghilangkan garis kanan

plt.title("10 Organisasi dengan Jumlah Peluncuran Terbanyak", y=1.08)  # Menambahkan ruang di antara plot dan judul
plt.xlabel("Organisasi")
plt.ylabel("Jumlah Peluncuran")
plt.xticks(rotation=45, ha='right')

# Menambahkan nilai asli di atas setiap batang
for p in ax2.patches:
    ax2.annotate(str(p.get_height()), (p.get_x() + p.get_width() / 2., p.get_height()),
                ha='center', va='center', xytext=(0, 10), textcoords='offset points')

plt.tight_layout()
plt.show()

Interpretasi Grafik:

  • RVSN USSR adalah organisasi dengan jumlah peluncuran roket terbanyak, dengan lebih dari 1700 peluncuran. Hal ini menunjukkan dominasi organisasi ini dalam industri peluncuran roket, mungkin karena perannya yang penting selama periode tertentu dalam sejarah.
  • Arianespace berada di urutan kedua, dengan lebih dari 250 peluncuran. Meskipun jauh di bawah RVSN USSR dalam hal jumlah, organisasi ini tetap merupakan organisasi penting dalam industri ini.
  • CASC dan General Dynamics berada di posisi ketiga dan keempat dengan 251 peluncuran. Hal ini menunjukkan pertumbuhan dan keberadaan yang kuat dari organisasi-organisasi ini di dunia peluncuran roket.
  • Organisasi lain seperti VKS RF dan NASA juga menunjukkan aktivitas yang signifikan dalam industri ini, dengan lebih dari 200 peluncuran.
  • Ada perbedaan yang signifikan antara jumlah peluncuran roket RVSN USSR dan organisasi lain, menunjukkan dominasi kuat RVSN USSR selama periode operasionalnya.

Dari grafik ini, kita dapat menyimpulkan bahwa beberapa organisasi memiliki peran dominan dalam sejarah peluncuran roket, baik karena sejarah, teknologi, atau kebijakan tertentu yang mereka miliki.

7. Analisis Distribusi Harga Peluncuran Roket¶

In [34]:
# Analisis statistik deskriptif untuk kolom harga
price_description = data['Price'].describe()

price_description
Out[34]:
count       964
unique       56
top       450.0
freq        136
Name: Price, dtype: object
In [35]:
# Mengonversi kolom 'Price' menjadi tipe data numerik
data['Price'] = pd.to_numeric(data['Price'], errors='coerce')

# Membuat histogram untuk distribusi harga
plt.figure(figsize=(10, 6))
plt.hist(data['Price'].dropna(), bins=50, color='lightblue', edgecolor='black')
plt.title("Distribusi Harga Peluncuran Roket")
plt.xlabel("Harga")
plt.ylabel("Frekuensi")
plt.grid(True, which='both', linestyle='--', linewidth=0.5)
plt.tight_layout()
plt.show()

Dari histogram yang ditampilkan, kita dapat membuat interpretasi:

  • Konsentrasi Harga: Sebagian besar peluncuran roket memiliki harga di kisaran rendah hingga menengah, dengan beberapa puncak yang jelas pada beberapa titik harga tertentu.
  • Harga Tertinggi: Ada beberapa peluncuran dengan harga yang sangat tinggi, tetapi frekuensinya rendah jika dibandingkan dengan harga peluncuran dengan harga menengah ke bawah. Hal ini menunjukkan bahwa peluncuran dengan harga tinggi mungkin merupakan misi khusus atau menggunakan teknologi yang lebih mahal.
  • Distribusi: Distribusi harga tampak tidak simetris, dengan kemiringan ke kanan. Hal ini menunjukkan bahwa sebagian besar peluncuran cenderung memiliki harga yang lebih rendah dengan beberapa pengecualian yang memiliki harga lebih tinggi.
  • Modus: Frekuensi tinggi di sekitar harga 450.0.

Dengan demikian, kita dapat menyimpulkan bahwa meskipun ada beberapa peluncuran roket dengan biaya yang sangat tinggi, sebagian besar peluncuran roket memiliki biaya yang relatif lebih rendah hingga menengah.

8. Distribusi Aktivitas Jumlah Peluncuran Roket per Negara¶

In [36]:
# Ekstraksi negara dari kolom 'Location'
data['Country'] = data['Location'].str.split(', ').str[-1]

# Menghitung jumlah peluncuran untuk setiap negara
launches_per_country = data['Country'].value_counts().reset_index()
launches_per_country.columns = ['Country', 'Number_of_Launches']

launches_per_country.head()
Out[36]:
Country Number_of_Launches
0 Russia 1395
1 USA 1344
2 Kazakhstan 701
3 France 303
4 China 268
In [38]:
fig = go.Figure(data=go.Choropleth(
    locations=launches_per_country['Country'],
    z=launches_per_country['Number_of_Launches'],
    locationmode='country names',
    colorscale="greens",
    autocolorscale=False,
    reversescale=False,
    marker_line_color='black',
    marker_line_width=0.5,
    colorbar_title='Number of Successful'
))

# Menyesuaikan latar belakang dan detail peta
fig.update_geos(
    showland=True,
    showcountries=True
)

fig.update_layout(
    title="Distribusi Aktivitas Keberhasilan Peluncuran Roket per Negara",
    geo=dict(
        showframe=False,
        showcoastlines=True
    )
)
# Menampilkan peta
fig.show()

Interpretasi Peta¶

  • Dari peta tersebut, kita dapat melihat bahwa beberapa negara memiliki warna yang lebih gelap, mengindikasikan bahwa mereka memiliki jumlah peluncuran roket yang tinggi. Hal ini dapat mencerminkan keberadaan institusi atau perusahaan penerbangan luar angkasa besar di negara tersebut atau adanya kebijakan pemerintah yang mendukung eksplorasi ruang angkasa.
  • Sebaliknya, banyak negara dengan warna yang lebih terang menunjukkan lebih sedikit atau bahkan tidak ada aktivitas peluncuran roket. Hal ini dapat disebabkan oleh berbagai faktor, seperti keterbatasan teknologi, anggaran, atau prioritas nasional yang berbeda.
  • Secara keseluruhan, peta ini memberikan gambaran umum tentang negara-negara terkemuka dalam industri peluncuran roket dan menunjukkan betapa beragamnya tingkat aktivitas di seluruh dunia.

Berikut adalah 10 negara dengan jumlah peluncuran roket terbanyak berdasarkan data yang tersedia:

  • Rusia dengan 1.395 peluncuran.
  • Amerika Serikat dengan 1.344 peluncuran
  • Kazakhstan dengan 701 peluncuran.
  • Prancis dengan 303 peluncuran.
  • Tiongkok dengan 268 peluncuran.
  • Jepang dengan 126 peluncuran.
  • India dengan 76 peluncuran.
  • Iran dengan 13 peluncuran.
  • Selandia Baru juga dengan 13 peluncuran.
  • Israel dengan 11 peluncuran.

Dari daftar ini, kita dapat melihat bahwa Rusia dan Kazakhstan mendominasi dalam hal jumlah peluncuran roket, dengan Rusia memiliki hampir dua kali lebih banyak dari Kazakhstan. Negara-negara lain dalam daftar ini juga memiliki kontribusi yang signifikan dalam industri peluncuran roket.

9. Distribusi Aktivitas Jumlah Peluncuran Roket per Negara¶

In [26]:
# Memfilter data untuk peluncuran yang gagal
failed_launches = data[data['Mission_Status'] == 'Failure']

# Menghitung jumlah peluncuran yang gagal untuk setiap negara
failed_launches_per_country = failed_launches['Country'].value_counts().reset_index()
failed_launches_per_country.columns = ['Country', 'Number_of_Failures']

failed_launches_per_country.head()
Out[26]:
Country Number_of_Failures
0 USA 127
1 Kazakhstan 72
2 Russia 62
3 China 19
4 France 13
In [4]:
fig_failure = go.Figure(data=go.Choropleth(
    locations=failed_launches_per_country['Country'],
    z=failed_launches_per_country['Number_of_Failures'],
    locationmode='country names',
    colorscale="reds",
    autocolorscale=False,
    reversescale=False,
    marker_line_color='black',
    marker_line_width=0.5,
    colorbar_title='Number of Failures'
))

# Menyesuaikan latar belakang dan detail peta
fig_failure.update_geos(
    showland=True,
    showcountries=True
)

fig_failure.update_layout(
    title="Distribusi Aktivitas Kegagalan Peluncuran Roket per Negara",
    geo=dict(
        showframe=False,
        showcoastlines=True
    )
)
# Menampilkan peta
fig_failure.show()
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_16868\1351174828.py in <module>
----> 1 fig_failure = go.Figure(data=go.Choropleth(
      2     locations=failed_launches_per_country['Country'],
      3     z=failed_launches_per_country['Number_of_Failures'],
      4     locationmode='country names',
      5     colorscale="reds",

NameError: name 'go' is not defined

Interpretasi Grafik¶

Dari Peta Choropleth yang menunjukkan jumlah kegagalan peluncuran roket per negara, kita dapat melihat bahwa beberapa negara memiliki jumlah kegagalan yang lebih tinggi dibandingkan dengan negara lainnya. Hal ini mungkin disebabkan oleh berbagai faktor, termasuk jumlah total peluncuran, teknologi yang digunakan, dan kondisi peluncuran.

Daftar 10 Negara dengan Jumlah Kegagalan Peluncuran Roket Terbanyak:

  • Amerika Serikat dengan 127 kegagalan.
  • Kazakhstan dengan 72 kegagalan.
  • Rusia dengan 62 kegagalan.
  • Cina dengan 19 kegagalan.
  • Prancis dengan 13 kegagalan.
  • Jepang dengan 10 kegagalan.
  • India dengan 8 kegagalan.
  • Iran juga dengan 8 kegagalan.
  • Korea Utara dengan 3 kegagalan.
  • Australia juga dengan 3 kegagalan.

Dari daftar di atas, Kazakhstan dan Rusia adalah dua negara dengan jumlah kegagalan peluncuran roket terbanyak. Namun, penting untuk diingat bahwa kedua negara ini juga memiliki jumlah peluncuran roket yang tinggi, sehingga jumlah absolut kegagalan mungkin tidak mencerminkan efisiensi atau keandalan program peluncuran roket mereka secara keseluruhan.

10. Persentase Kegagalan dan Keberhasilan Peluncuran Roket dari Waktu ke Waktu¶

In [49]:
# Menghitung total misi dan total kegagalan per tahun
total_missions_per_year = data.groupby('Year').size()
failures_per_year = data[data['Mission_Status'] == 'Failure'].groupby('Year').size()

# Menghitung persentase kegagalan
failure_percentage_per_year = (failures_per_year / total_missions_per_year) * 100

failure_percentage_per_year.head()

plt.figure(figsize=(15, 7))
failure_percentage_per_year.plot(linestyle='-', marker='o', color='red')

plt.title('Persentase Kegagalan Peluncuran Roket Sepanjang Waktu')
plt.xlabel('Tahun')
plt.ylabel('Persentase Kegagalan (%)')
plt.grid(True, which='both', linestyle='--', linewidth=0.5)
plt.tight_layout()

plt.show()
  • Kegagalan Awal yang Tinggi: Pada tahun-tahun awal eksplorasi ruang angkasa (akhir 1950-an hingga awal 1960-an), persentase kegagalan cukup tinggi, mencapai lebih dari 70% dalam beberapa tahun.

  • Peningkatan Terus Menerus: Sejak pertengahan 1960-an, telah terjadi tren penurunan yang konsisten dalam persentase kegagalan. Hal ini menunjukkan bahwa negara-negara mulai meningkatkan teknologi dan prosedur peluncuran mereka, sehingga mengurangi risiko kegagalan.

  • Peningkatan Stabilitas pada tahun 2000-an: Pada dekade 2000-an, persentase kegagalan menjadi lebih stabil dan relatif rendah, yang menunjukkan bahwa teknologi peluncuran telah menjadi lebih matang dan dapat diandalkan.

  • Kegagalan Rendah dalam Beberapa Tahun Terakhir: Dalam beberapa tahun terakhir, persentase kegagalan sangat rendah, yang menunjukkan kemajuan yang signifikan dalam teknologi peluncuran roket dan keberhasilan.

Dari interpretasi ini, kita dapat menyimpulkan bahwa negara-negara memang telah meningkatkan kemampuan mereka untuk meluncurkan roket dari waktu ke waktu, dengan risiko kegagalan yang semakin berkurang.

In [50]:
# Menghitung total keberhasilan per tahun
successes_per_year = data[data['Mission_Status'] == 'Success'].groupby('Year').size()

# Menghitung persentase keberhasilan
success_percentage_per_year = (successes_per_year / total_missions_per_year) * 100

# Membuat grafik garis untuk persentase keberhasilan
plt.figure(figsize=(15, 7))
success_percentage_per_year.plot(linestyle='-', marker='o', color='green')

plt.title('Persentase Keberhasilan Peluncuran Roket Sepanjang Waktu')
plt.xlabel('Tahun')
plt.ylabel('Persentase Keberhasilan (%)')
plt.grid(True, which='both', linestyle='--', linewidth=0.5)
plt.tight_layout()

plt.show()
  • Keberhasilan Awal yang Rendah: Pada tahun-tahun awal eksplorasi ruang angkasa (akhir 1950-an hingga awal 1960-an), persentase keberhasilannya relatif rendah, di bawah 50% dalam beberapa tahun.

  • Peningkatan Berkelanjutan: Sejak pertengahan 1960-an, telah terjadi tren peningkatan yang konsisten dalam persentase keberhasilan. Hal ini menunjukkan bahwa negara-negara mulai meningkatkan teknologi dan prosedur peluncuran mereka, sehingga meningkatkan peluang keberhasilan.

  • Stabilitas Tinggi pada tahun 2000-an: Pada dekade 2000-an, persentase keberhasilan menjadi lebih stabil dan relatif tinggi, yang menunjukkan bahwa teknologi peluncuran telah menjadi lebih matang dan dapat diandalkan.

  • Keberhasilan Tinggi dalam Beberapa Tahun Terakhir: Dalam beberapa tahun belakangan ini, persentase keberhasilan sangat tinggi, mendekati 100% pada beberapa tahun, yang mengindikasikan keefektifan dan keandalan teknologi peluncuran saat ini.

Dari interpretasi ini, kita dapat menyimpulkan bahwa negara-negara telah secara signifikan meningkatkan kemampuan mereka untuk meluncurkan roket dari waktu ke waktu, dengan peluang keberhasilan yang meningkat.